Emacs Native Code
GNU Emacs Lisp 支持将 Lisp 函数定义编译成本地代码,这是一个可选的功能,需要 libgccjit 库的支持,该库是 GCC 发行版的一部分。
使用本地代码可以直接由机器的硬件执行,从而获得更快的执行速度,通常比字节编译后的代码快 2.5 到 5 倍。
由于本地代码通常在不同的系统之间是不兼容的,因此在不同的机器之间传输本地编译后的 Lisp 代码是不可能的。
为了避免在同一目录中同时存在多个版本的 Lisp 库,Emacs 通常会使用唯一的文件名来命名本地编译后的库。
可以通过设置文件局部变量 no-byte-compile
和 no-native-compile
来禁止对特定文件进行字节编译和本地编译。
native-comp-available-p
要确定当前的 Emacs 进程是否可以生成和加载本机编译的 Lisp 代码,请调用 native-comp-available-p
(参见 Native-Compilation Functions)。
网络资源
本文作者:Maeiee
本文链接:Emacs Native Code
版权声明:如无特别声明,本文即为原创文章,版权归 Maeiee 所有,未经允许不得转载!
喜欢我文章的朋友请随缘打赏,鼓励我创作更多更好的作品!